xtetsuji) です。
おがた (@気がついたらIT業界に身を置いて10年以上となってしまいましたが、その経験の中で気をつけたいなと思ったら単語がいくつかあります。自分のメモとして、ここでまとめてみます。
実装
これは1社目で私自身も違和感を持っていたのですが、厳格な先輩の一人が企画部署の若い人が使う「実装」という言葉に苦言を呈したことがあります。
当時の企画部署の若い人が「実装」という言葉で表現していたのは
- HTMLを実装する
- 画像を実装する
といった概念。辞書によって表現の差はあれど、実装という言葉の意味は「機能の付加」であるので、ウェブ業界であればほぼプログラミング作業と同等だと考えるのが自然です。そんな中で、機能よりもデザインであるような領域で「実装」という言葉を使い出したので、私が眉をひそめているうちに厳格な先輩の一人が苦言を呈したという経緯でした。
もともとは、プログラマーが使っていた「実装」という意味を「新しい成果物の作成」と履き違えた非プログラマーが自分の作業に使い始めたのがきっかけなのだと思います。
とはいえ、最近のソーシャルゲームでは「画像が実装された」といった表現が普通に使われていて、誤用が広がって正しい意味になってしまう流れを感じてしまい、複雑な心境です。
デバッグ
最近では「ソフトウェアテスト」という単語が浸透したので誤解は少なくなりましたが、2005年頃までは実機を使った手動でのテストのことを「デバッグ」と称するケースが普通にありました。
この手動でのテストをデバッグという風習は、1980年代の家庭用ゲーム機用ゲーム開発時代に由来していそうな気がするのですが、確証は得られていません。
これもまた同様に、最初はプログラマーが「バグを解消する」という本来の意味で使ったデバッグという単語を、テスターがバグを洗い出すことと勘違いして使い始めたのでしょう。
ちなみに、バグの修正作業などで別のバグを生み出してしまうことを「エンバグ」と言ったりすることがありますが、あれは和製英語です。上述の厳格な先輩も「エンバグ」という言葉は多用していて、その度にモヤモヤしていた思い出があります。純日本語の社内用語として使うのは構わないですが、とにかく英語であるという誤解を生みやすい言葉であるので、私は使わないようにしています。「デグレード」「サイドエフェクト(修正に伴う副作用)」という言葉が代用可能候補です。
プログラマー、PG、エンジニア、ITエンジニア
ウェブ業界で開発作業をしている人達と交流していると、それぞれ自分がどのような職種か表現の方法が微妙に違うのが面白いです。
プログラミングを主な仕事とする人が「プログラマー」と自称するかというと必ずしもそうではなく、エンジニアと自称するケースが結構多く見受けられます。「プログラマー」という言葉からは「プログラミング(だけ)をする人」、SIer的コンテキストで言えば「設計はしない(できない)人」といったネガティブな印象を抱いて、プログラマーという言葉を避ける人もいます。
ウェブ業界の人は SIer 的世界観を忌避する人が多く、SIerがプログラマーの意味で多用する略称「PG」についてさらにネガティブな印象を抱く人も少なくありません。
私はウェブ業界で開発作業をする職種を長く続けていましたが、特に最近は特定のことに対する専門性を持ちたい、むしろ何でもかんでも手を付けることは避けたいと考えるようになってきています。そういう考えの変遷もあり、「設計作業をする人がいないので仕方なく自分がやっている」という立場をより鮮明にしており、自分の場合は「プログラミングをする人」という「プログラマー」を標榜することが多いです。設計やる人がいないなら当然自分がやるものの、そこに関しての品質に関しては多分に至らない点があるという表現だと考えると自分でも自然かなと思いながら使っています。
第一、IT業界以外の人にも「プログラマー」と言えば「あぁ、あのわけのわからない文字列をひたすら書いたりしている人」と通りがいいのがプログラマーという言葉の使い勝手の良さです。
むしろ「エンジニア」という言葉だと、IT業界以外の人は自動車の整備士であったりああいうものを想像してしまいがちなんじゃないかと感じています(自分がまずそう)。なので私がエンジニアという単語を使うとしても「ITエンジニア」「IT技術者」といった言葉を意識して使うようにしています。
免責ではないのですが、自分の職種を表現する単語はなるべく狭い範囲を指す言葉のほうがいいなというのが最近の私の根底にあります。
こういうことを言うと「IT業界では何でも勉強しないとやっていけない」と指摘する方が結構いらっしゃるのですが、「言われればやる。でも日々研鑽をしていることではないので至らない点がある」という表明はむしろ誠実ではないかと感じます。「なんでもできます」という人がフタを開けてみたら何にも出来ない問題については以前のブログ記事で取り上げました。
特に私がオールラウンダーを目指す人を批判しているわけではありませんし、オールラウンダーを標榜している人が本当に何でもこなす例も多く知っています。結局は、オールラウンダーを目指す人も専門性を高める人も、どちらかが間違っていてどちらかが正しいというわけではなく、その人の指向の問題でしかないでしょう。オールラウンダーを目指せる人は限られたスキルの持ち主であるのにそれを要請しがちな業界の問題、そしてたまたま私が専門性を磨くことに価値を見出す人であるということでしかないでしょう。
コーディング、コーダー
上記の「プログラマー」の説明にも通じますが、「コードを書く」という意味の「コーディング」、「コードを書く人」という意味の「コーダー」は、プログラマー以外の人がプログラマーに使わない方がいい筆頭のワードでしょう。
「コーディング」「コーダー」には、設計的意味合いが全く含まれず、与えられた仕様書や設計書をプログラミング言語の形(コード)に落としていくという単純作業を想像させられる人は少なくないと思いますし、ITエンジニアに「コーディングして下さい」「コーダーって大変ですよね」なんてことを言ったりもすれば、「満足な仕様書も設計書も無くてこっちが設計から何からやっているのに、なんて失礼な」と激怒される可能性すらありそうです。
設計フェーズを終えたところで「じゃ、次はコーディング作業に入るか」という言葉を使うプログラマーは多いですが、それを見聞きしたプログラミングを知らない人が「コーディング」という言葉をプログラマーに向けることはトラブル以外の何者でもないので、本当にやめたほうがいいでしょう。
デザイン案に基づいてHTMLやCSSを書く人を「コーダー」と呼んでいた時期もありますが、HTMLやCSSも高度化して設計作業が不可避になってくるにつれ、同様のネガティブさを避けるために彼らを「マークアップエンジニア」と呼ぶようにもなっているくらいです。くれぐれもプログラマー職の人に「コーダー」「コーディング」という言葉は使わないようにしたほうがいいでしょう。
私はどうしているか
この記事であげた言葉は、少なくない人達に誤解を与える言葉だと私が感じているものです。
では私がどうしているかというと、この言葉で表現できない場合を除いて、誤解を与える傾向にある言葉はそもそも使わない方針を取っています。
「デバッグ」「実装」という言葉に関しては、開発者ではない人もいる職場で使うことはまずありません。例えば「バグ修正」「機能追加」という言葉で言い換えます。誤解を生みやすい言葉は、この先使い続けてもやはり誤解を生みやすいのです。使わなくても意思の疎通ができるのであれば、別に使わなくてもいいじゃない、というのが私のスタンスです。
もちろん、「デバッグ」「実装」を誤解なく使うことが出来るオープンソース開発の場面では使うことはあります。
ネガティブな印象を受ける言葉については、そもそもコミュニケーションの基本として避けたほうがいいでしょう。
言葉を避けるということは、創作マナーの粋を出ない「了解は失礼だから承知を使おう」という珍説と同様に受け取られるかもしれませんが、上記であげた言葉は実際に少なくないITエンジニアにとってネガティブに受け取ることが良く知られた言葉です。言葉の意味を論じるのは構いませんが、新たな受け止められ方が合意されるまでは、無用なトラブルは避けたほうがいいでしょう。
私は創作マナーの類の根拠の無い(「創作マナー専門家」が単に出展無しに自分が不快だと言っているだけの)言葉については出展や根拠を求めていく姿勢です。言葉狩りは本来はされるべきではないのです。
上記であげた言葉については
- 使ってはいけない言葉ではなく、誤用されがちな言葉である
- 色々と面倒なので私は使わないだけ
ということに過ぎません。「コーディング」という言葉は「設計をしない」というネガティブな意味を見出す人が少なからずいるから注意した方がいいというだけで、「設計が終わったからコーディングしよう」という言葉に他意を見出すプログラマーは少ないでしょう。
特に非ITエンジニア職の人達が誤用しがちということだけであって、もしあらゆる設計をしたという自負があるのであれば「設計という作業は全くしなくてもいい楽な作業」という意味で「コーディング」という言葉をディレクター職の人が使うのは全く構わないと思います。それが本当であれば、(面白いかどうかは別として)同様に対価がもらえるのであれば楽に越したことはないのですから。でも実際のところ、プログラミングが出来ない人が満足な設計ができるケースはレアケースであると言ってしまって構わないわけで、むしろプログラマーをおだてて甘えてしまう作戦のほうが処世術としては正しいと思います。
全知全能ではない人間が言葉の誤用をすることは当然といえますが、日頃から言葉の意味や出展に気を配ってより良いコミュニケーションを取ろうとすることは、社会で生きるため必要なことなのだと感じます。特に複雑化する時代、日々新しい概念に対して理解を深めることが大切なのは、職業スキルであっても生活スキルであっても同様に重要なことでしょう。
私も、日々頭を使って考えるという当たり前のことが疎かにならないよう精進したいと考える今日このごろです。